package modele;

/**
 * <h1><b>Classe : </b>Utilisateur</h1>
 * <p>
 * Classe de modèle de donnée.
 * Permet de créer des instances du modèle de données.
 * Accéder à ses attributs par le biais des méthodes publiques.
 * </p>
 *
 */
public class Utilisateur 
{

	private String ID;
	private String nom;
	private String prenom;
	private String telFixe;
	private String telPort;
	private String adresse;
	private String rueComplement;
	private String ville;
	private int codePostal;
	private String pays;
	private String mail;
	private String promo;
	private String niveau;
	private String role;
	private boolean tempValid;
	private String CV;
	
	/**
	 * <h1>Utilisateur</h1>
	 * <p>
	 * Constructeur de la classe Utilisateur.
	 * </p>
	 * @param <b>ID : </b>l'ID à attribuer à l'instance.
	 * @param <b>nom : </b>le nom à attribuer à l'instance.
	 * @param <b>prenom : </b>le prenom à attribuer à l'instance.
	 * @param <b>telFixe : </b>le numéro de téléphone fixe à attribuer à l'instance.
	 * @param <b>telPort : </b>le numéro de téléphone portable à attribuer à l'instance.
	 * @param <b>adresse : </b>l'adresse à attribuer à l'instance.
	 * @param <b>rueComplement : </b>le complément de rue à attribuer à l'instance.
	 * @param <b>ville : </b>la ville à attribuer à l'instance.
	 * @param <b>codePostal : </b>le numéro de code postal à attribuer à l'instance.
	 * @param <b>pays : </b>le pays à attribuer à l'instance.
	 * @param <b>mail : </b>l'adresse mail à attribuer à l'instance.
	 * @param <b>promo : </b>la promo à attribuer à l'instance.
	 * @param <b>niveau : </b>le niveau à attribuer à l'instance.
	 * @param <b>role : </b>le role à attribuer à l'instance.
	 */
	
	public Utilisateur(String ID, String nom, String prenom, String telFixe, String telPort, String adresse, String rueComplement, String ville, int codePostal, String pays, String mail, String promo, String niveau, String role)
	{
		this.setID(ID);
		this.setNom(nom);
		this.setPrenom(prenom);
		this.setTelFixe(telFixe);
		this.setTelPort(telPort);
		this.setAdresse(adresse);
		this.setRueComplement(rueComplement);
		this.setVille(ville);
		this.setCodePostal(codePostal);
		this.setPays(pays);
		this.setMail(mail);
		this.setPromo(promo);
		this.setNiveau(niveau);
		this.setRole(role);
	}
	
	/**
	 * <h1><b>Fonction : </b>getID</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut ID d'un utilisateur.
	 * </p>
	 * @return <b>ID : </b> l'id de l'utilisateur.
	 */
	public String getID() 
	{
		return ID;
	}
	
	/**
	 * <h1><b>Fonction : </b>setID</h1>
	 * <p>
	 * Permet de changer l'attribut ID d'un utilisateur.
	 * </p>
	 * @param <b>ID : </b>le nouvel ID pour un utilisateur.
	 */
	public void setID(String ID)
	{
		this.ID = ID;
	}
	
	/**
	 * <h1><b>Fonction : </b>getNom</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut nom d'un utilisateur.
	 * </p>
	 * @return <b>nom : </b> le nom de l'utilisateur.
	 */
	public String getNom() 
	{
		return nom;
	}
	
	/**
	 * <h1><b>Fonction : </b>setNom</h1>
	 * <p>
	 * Permet de changer le nom d'un utilisateur.
	 * </p>
	 * @param <b>nom : </b>le nouveau nom pour un utilisateur.
	 */
	public void setNom(String nom) 
	{
		this.nom = nom;
	}

	/**
	 * <h1><b>Fonction : </b>getPrenom</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut prenom d'un utilisateur.
	 * </p>
	 * @return <b>prenom : </b> le prénom de l'utilisateur.
	 */
	public String getPrenom() 
	{
		return prenom;
	}

	/**
	 * <h1><b>Fonction : </b>setPrenom</h1>
	 * <p>
	 * Permet de changer le prénom d'un utilisateur.
	 * </p>
	 * @param <b>prenom : </b>le nouveau prenom pour un utilisateur.
	 */
	public void setPrenom(String prenom) 
	{
		this.prenom = prenom;
	}

	/**
	 * <h1><b>Fonction : </b>getTelFixe</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut telFixe d'un utilisateur.
	 * </p>
	 * @return <b>telFixe : </b> le numéro de téléphone fixe de l'utilisateur.
	 */
	public String getTelFixe() 
	{
		return telFixe;
	}

	/**
	 * <h1><b>Fonction : </b>setTelFixe</h1>
	 * <p>
	 * Permet de changer l'attribut telFixe d'un utilisateur.
	 * </p>
	 * @param <b>telFixe : </b>le nouveau numéro de téléphone fixe pour un utilisateur.
	 */
	public void setTelFixe(String telFixe) 
	{
		this.telFixe = telFixe;
	}

	/**
	 * <h1><b>Fonction : </b>getTelPort</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut telPort d'un utilisateur.
	 * </p>
	 * @return <b>telPort : </b> le numéro de téléphone portable de l'utilisateur.
	 */
	
	public String getTelPort() 
	{
		return telPort;
	}

	/**
	 * <h1><b>Fonction : </b>setTelPort</h1>
	 * <p>
	 * Permet de changer l'attribut telPort d'un utilisateur.
	 * </p>
	 * @param <b>telPort : </b>le nouveau numéro de téléphone portable pour un utilisateur.
	 */
	public void setTelPort(String telPort) 
	{
		this.telPort = telPort;
	}

	/**
	 * <h1><b>Fonction : </b>getAdresse</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut adresse d'un utilisateur.
	 * </p>
	 * @return <b>adresse : </b> l'adresse de l'utilisateur.
	 */
	public String getAdresse() 
	{
		return adresse;
	}

	/**
	 * <h1><b>Fonction : </b>setAdresse</h1>
	 * <p>
	 * Permet de changer l'attribut adresse d'un utilisateur.
	 * </p>
	 * @param <b>adresse : </b>la nouvelle adresse pour un utilisateur.
	 */
	public void setAdresse(String adresse) 
	{
		this.adresse = adresse;
	}

	/**
	 * <h1><b>Fonction : </b>getRueComplement</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut rueComplement d'un utilisateur.
	 * </p>
	 * @return <b>rueComplement : </b> le complément d'adresse concernant la rue de l'utilisateur.
	 */
	public String getRueComplement() 
	{
		return rueComplement;
	}
	
	/**
	 * <h1><b>Fonction : </b>setRueComplement</h1>
	 * <p>
	 * Permet de changer l'attribut rueComplement d'un utilisateur.
	 * </p>
	 * @param <b>rueComplement : </b>le nouveau complément d'adresse concernant la rue pour un utilisateur.
	 */

	public void setRueComplement(String rueComplement) 
	{
		this.rueComplement = rueComplement;
	}
	
	/**
	 * <h1><b>Fonction : </b>getVille</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut ville d'un utilisateur.
	 * </p>
	 * @return <b>ville : </b> la ville de l'utilisateur.
	 */

	public String getVille() 
	{
		return ville;
	}

	/**
	 * <h1><b>Fonction : </b>setVille</h1>
	 * <p>
	 * Permet de changer l'attribut ville d'un utilisateur.
	 * </p>
	 * @param <b>ville : </b>la nouvelle ville pour un utilisateur.
	 */
	public void setVille(String ville) 
	{
		this.ville = ville;
	}
	
	/**
	 * <h1><b>Fonction : </b>getCodePostal</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut codePostal d'un utilisateur.
	 * </p>
	 * @return <b>codePostal : </b> le code postal de l'utilisateur.
	 */

	public int getCodePostal() 
	{
		return codePostal;
	}
	
	/**
	 * <h1><b>Fonction : </b>setCodePostal</h1>
	 * <p>
	 * Permet de changer l'attribut codePostal d'un utilisateur.
	 * </p>
	 * @param <b>codePostal : </b>le nouveau code postal pour un utilisateur.
	 */

	public void setCodePostal(int codePostal)
	{
		this.codePostal = codePostal;
	}

	/**
	 * <h1><b>Fonction : </b>getPays</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut pays d'un utilisateur.
	 * </p>
	 * @return <b>pays : </b> le pays de résidence de l'utilisateur.
	 */
	public String getPays() 
	{
		return pays;
	}
	
	/**
	 * <h1><b>Fonction : </b>setCodePays</h1>
	 * <p>
	 * Permet de changer l'attribut pays d'un utilisateur.
	 * </p>
	 * @param <b>pays : </b>le nouveau pays pour un utilisateur.
	 */

	public void setPays(String pays) 
	{
		this.pays = pays;
	}

	/**
	 * <h1><b>Fonction : </b>getMail</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut mail d'un utilisateur.
	 * </p>
	 * @return <b>mail : </b> l'adresse mail de l'utilisateur.
	 */
	public String getMail() 
	{
		return mail;
	}

	/**
	 * <h1><b>Fonction : </b>setMail</h1>
	 * <p>
	 * Permet de changer l'attribut mail d'un utilisateur.
	 * </p>
	 * @param <b>mail : </b>la nouvelle adresse mail pour un utilisateur.
	 */
	public void setMail(String mail) 
	{
		this.mail = mail;
	}
	
	/**
	 * <h1><b>Fonction : </b>getPromo</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut promo d'un utilisateur.
	 * </p>
	 * @return <b>promo : </b> la promotion � laquelle appartient l'utilisateur.
	 */
	public String getPromo() 
	{
		return promo;
	}

	/**
	 * <h1><b>Fonction : </b>setPromo</h1>
	 * <p>
	 * Permet de changer l'attribut promo d'un utilisateur.
	 * </p>
	 * @param <b>promo : </b>la nouvelle promo pour un utilisateur.
	 */
	public void setPromo(String promo) 
	{
		this.promo = promo;
	}

	/**
	 * <h1><b>Fonction : </b>getNiveau</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut niveau d'un utilisateur.
	 * </p>
	 * @return <b>niveau : </b> le niveau d'étude de l'utilisateur.
	 */
	public String getNiveau() 
	{
		return niveau;
	}

	/**
	 * <h1><b>Fonction : </b>setNiveau</h1>
	 * <p>
	 * Permet de changer l'attribut niveau d'un utilisateur.
	 * </p>
	 * @param <b>niveau : </b>le nouveau niveau d'étude pour un utilisateur.
	 */
	public void setNiveau(String niveau) 
	{
		this.niveau = niveau;
	}

	/**
	 * <h1><b>Fonction : </b>getRole</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut role d'un utilisateur.
	 * </p>
	 * @return <b>role : </b> le role de l'utilisateur au sein de l'association.
	 */
	public String getRole() 
	{
		return role;
	}

	/**
	 * <h1><b>Fonction : </b>setRole</h1>
	 * <p>
	 * Permet de changer l'attribut role d'un utilisateur.
	 * </p>
	 * @param <b>role : </b>le nouveau role pour un utilisateur.
	 */
	public void setRole(String role) 
	{
		this.role = role;
	}

	/**
	 * <h1><b>Fonction : </b>isTempValid</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut tempValid de l'utilisateur.
	 * </p>
	 * @return <b>true : </b> si cas 1.
	 * @return <b>false : </b> si cas 2.
	 */
	public boolean isTempValid() 
	{
		return tempValid;
	}

	/**
	 * <h1><b>Fonction : </b>setTempValid</h1>
	 * <p>
	 * Permet de changer l'attribut tempValid d'un utilisateur.
	 * </p>
	 * @param <b>tempValid : </b>nouvelle valeur donn�e au booléen.
	 */
	public void setTempValid(boolean tempValid) 
	{
		this.tempValid = tempValid;
	}

	/**
	 * <h1><b>Fonction : </b>getCV</h1>
	 * <p>
	 * Permet d'accéder en lecture àl'attribut CV d'un utilisateur.
	 * </p>
	 * @return <b>CV : </b> le CV de l'utilisateur.
	 */
	public String getCV() 
	{
		return CV;
	}

	/**
	 * <h1><b>Fonction : </b>setCV</h1>
	 * <p>
	 * Permet de changer l'attribut CV d'un utilisateur.
	 * </p>
	 * @param <b>CV : </b>le nouveau CV pour un utilisateur.
	 */
	public void setCV(String CV) 
	{
		this.CV = CV;
	}
	
}
